home *** CD-ROM | disk | FTP | other *** search
/ Champak 106 / Vol 106.iso / games / winx_clu.swf / scripts / __Packages / mx / behaviors / DepthControl.as
Encoding:
Text File  |  2010-04-12  |  2.9 KB  |  106 lines

  1. class mx.behaviors.DepthControl extends Object
  2. {
  3.    function DepthControl()
  4.    {
  5.       super();
  6.    }
  7.    static function sendToBack(target)
  8.    {
  9.       var _loc2_ = false;
  10.       while(_loc2_ == false)
  11.       {
  12.          mx.behaviors.DepthControl.sendBackward(target);
  13.          _loc2_ = target == mx.behaviors.DepthControl.getInstanceAtLowest(target._parent);
  14.       }
  15.    }
  16.    static function bringToFront(target)
  17.    {
  18.       var _loc2_ = false;
  19.       while(_loc2_ == false)
  20.       {
  21.          mx.behaviors.DepthControl.bringForward(target);
  22.          _loc2_ = target == mx.behaviors.DepthControl.getInstanceAtHighest(target._parent);
  23.       }
  24.    }
  25.    static function sendBackward(target)
  26.    {
  27.       var _loc2_ = mx.behaviors.DepthControl.trackDepths(target._parent);
  28.       if(target != mx.behaviors.DepthControl.getInstanceAtLowest(target._parent))
  29.       {
  30.          target.swapDepths(mx.behaviors.DepthControl.getInstanceLowerThan(target));
  31.       }
  32.    }
  33.    static function bringForward(target)
  34.    {
  35.       if(target != mx.behaviors.DepthControl.getInstanceAtHighest(target._parent))
  36.       {
  37.          target.swapDepths(mx.behaviors.DepthControl.getInstanceHigherThan(target));
  38.       }
  39.    }
  40.    static function trackDepths(mcParent)
  41.    {
  42.       var _loc4_ = [];
  43.       for(var _loc5_ in mcParent)
  44.       {
  45.          if(typeof mcParent[_loc5_] == "movieclip")
  46.          {
  47.             _loc4_.push({mc:mcParent[_loc5_],depth:mcParent[_loc5_].getDepth()});
  48.          }
  49.       }
  50.       _loc4_.sort(mx.behaviors.DepthControl.orderFunc);
  51.       return _loc4_;
  52.    }
  53.    static function orderFunc(a, b)
  54.    {
  55.       var _loc2_ = Number(a.depth);
  56.       var _loc1_ = Number(b.depth);
  57.       if(_loc2_ > _loc1_)
  58.       {
  59.          return -1;
  60.       }
  61.       if(_loc1_ > _loc2_)
  62.       {
  63.          return 1;
  64.       }
  65.       return 0;
  66.    }
  67.    static function getInstanceAtLowest(targetParent)
  68.    {
  69.       var _loc1_ = mx.behaviors.DepthControl.trackDepths(targetParent);
  70.       return _loc1_[_loc1_.length - 1].mc;
  71.    }
  72.    static function getInstanceAtHighest(targetParent)
  73.    {
  74.       var _loc1_ = mx.behaviors.DepthControl.trackDepths(targetParent);
  75.       return _loc1_[0].mc;
  76.    }
  77.    static function getInstanceLowerThan(target)
  78.    {
  79.       var _loc2_ = mx.behaviors.DepthControl.trackDepths(target._parent);
  80.       var _loc1_ = 0;
  81.       while(_loc1_ < _loc2_.length)
  82.       {
  83.          if(_loc2_[_loc1_].mc == target)
  84.          {
  85.             break;
  86.          }
  87.          _loc1_ = _loc1_ + 1;
  88.       }
  89.       return _loc2_[_loc1_ + 1].mc;
  90.    }
  91.    static function getInstanceHigherThan(target)
  92.    {
  93.       var _loc2_ = mx.behaviors.DepthControl.trackDepths(target._parent);
  94.       var _loc1_ = 0;
  95.       while(_loc1_ < _loc2_.length)
  96.       {
  97.          if(_loc2_[_loc1_].mc == target)
  98.          {
  99.             break;
  100.          }
  101.          _loc1_ = _loc1_ + 1;
  102.       }
  103.       return _loc2_[_loc1_ - 1].mc;
  104.    }
  105. }
  106.